﻿using uni.ubi.open.sdk.Model;

namespace PARK.BussinCache.Interfaces
{
    public interface IUniubiSdkRepository
    {

        #region 设备管理
        /// <summary>
        /// 添加设备
        /// </summary>
        /// <param name="deviceNo">设备序列号</param>
        /// <param name="deviceName">设备名称</param>
        /// <param name="CompanyId">所属公司Id</param>
        /// <returns></returns>
        dfpOutPut deviceCreate(string deviceNo, string deviceName, string CompanyId);
        /// <summary>
        /// 编辑设备
        /// </summary>
        /// <param name="deviceNo"></param>
        /// <param name="deviceName"></param>
        /// <returns></returns>
        dfpOutPut deviceEdit(string deviceNo, string deviceName, string CompanyId);
        /// <summary>
        /// 删除设备
        /// </summary>
        /// <param name="deviceNo">设备序列号</param>
        /// <returns></returns>
        dfpOutPut deviceDelete(string deviceNo, string CompanyId);
        /// <summary>
        /// 查询设备在线状态
        /// </summary>
        /// <param name="deviceNos">设备序列号s</param>
        /// <returns></returns>
        dfpOutPut onlineState(string deviceNos, string CompanyId);
        /// <summary>
        /// 查询设备同步状态
        /// </summary>
        /// <param name="deviceNos">设备序列号s</param>
        /// <returns></returns>
        dfpOutPut deviceSync(string deviceNos, string CompanyId);
        #endregion

        #region 人员管理
        /// <summary>
        /// 添加人员
        /// </summary>
        /// <param name="JobNum">工号</param>
        /// <param name="RealName">姓名</param>
        /// <param name="cardNo">卡号</param>
        /// <returns></returns>
        dfpOutPut eyeCreate(string JobNum, string RealName, string cardNo, string CompanyId);
        /// <summary>
        /// 编辑人员
        /// </summary>
        /// <param name="admitGuid">宇泛平台用户Id</param>
        /// <param name="JobNum">工号</param>
        /// <param name="RealName">姓名</param>
        /// <param name="cardNo">卡号</param>
        /// <returns></returns>
        dfpOutPut eyeEdit(string admitGuid, string JobNum, string RealName, string cardNo, string CompanyId);
        /// <summary>
        /// 删除人员
        /// </summary>
        /// <param name="admitGuid">宇泛平台人员Id</param>
        /// <returns></returns>
        dfpOutPut eyeDelete(string admitGuid, string CompanyId);
        #endregion

        #region 人像管理
        /// <summary>
        /// 注册人像
        /// </summary>
        /// <param name="admitGuid">宇泛平台人员Id</param>
        /// <param name="faceBase64">人像base64</param>
        /// <returns></returns>
        dfpOutPut faceRegister(string admitGuid, string faceBase64, string CompanyId);
        /// <summary>
        /// 注册人像
        /// </summary>
        /// <param name="admitGuid">宇泛平台人员Id</param>
        /// <param name="faceurl">人像图片地址</param>
        /// <returns></returns>
        dfpOutPut faceRegisterEx(string admitGuid, string faceurl, string CompanyId);
        /// <summary>
        /// 删除人像
        /// </summary>
        /// <param name="admitGuid">宇泛平台人员Id</param>
        /// <param name="faceGuid">人像Id</param>
        /// <returns></returns>
        dfpOutPut faceDelete(string admitGuid, string faceGuid, string CompanyId);
        #endregion

        #region 设备权限
        /// <summary>
        /// 添加权限
        /// </summary>
        /// <param name="deviceNo">设备序列号</param>
        /// <param name="admitGuid">宇泛平台用户Id</param>
        /// <returns></returns>
        dfpOutPut authdeviceAdd(string deviceNo, string admitGuid, string CompanyId);
        /// <summary>
        /// 删除权限
        /// </summary>
        /// <param name="deviceNo">设备序列号</param>
        /// <param name="admitGuid">宇泛平台用户Id</param>
        dfpOutPut authdeviceDelete(string deviceNo, string admitGuid, string CompanyId);
        #endregion
    }
}